package com.atguigu.gmall.product.controller;

import com.atguigu.gmall.common.result.Result;
import com.atguigu.gmall.product.service.FileUploadService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

/**
 * @ClassName FileUploadController
 * @Description 此类描述:文件上传
 * @Author dangchen
 * @DateTime 2022-10-31 23:45
 * @Version 1.0
 */
@RestController
@RequestMapping("admin/product")
public class FileUploadController {
    @Autowired
    FileUploadService fileUploadService;

    /**
     * 分布式系统：
     *     想要调用别人写好的东西，有两种办法
     *     1）、发请求：API:接口；
     *     2）、导包： SDK:工具包
     * @param file
     * @return
     */
    @PostMapping("fileUpload")
    public Result fileUpload(@RequestPart MultipartFile file){
        //1、获取原始文件名：  三星.png
//        String filename = file.getOriginalFilename();
        //2、当前上传的文件的大小
//        long size = file.getSize();
        //TODO 保存到Minio，并返回文件的访问路径
        //3、获取文件的字节流
//        byte[] bytes = file.getBytes();
//
//        InputStream stream = file.getInputStream();
        String url = fileUploadService.uploadToMinio(file);
        return Result.ok(url);
    }
}
